package com.o.Reflection;

/**
 * 简单工厂模式
 * 以后可以通过读取文件的内容创建一个类
 * 不会反复的修改java内容
 *
 * @author Mc.Chai
 * @program: Java基础
 * @create 2021-11-29-21:46 21:46
 */
public class TestNewInstance {
    public static void main(String[] args) {
        Student s= (Student) factory("com.o.Reflection.Student");
        s.name="";
        System.out.println(factory("com.o.Reflection.Student"));
        System.out.println(new Student());
    }
    /**
     * 提供一个类名为其返回这个类的对象
     * */
    public static Object factory(String className){
        try {
            Class c= Class.forName(className);
            return c.newInstance(); //实则调用无参构造方法创造的对象
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
class Student{
    String name;
}
